1. Field of the Invention
The present invention relates to a technology for communication between objects that will establish links between them.
2. Description of the Related Art
With the spread of object-oriented programming, there is a demand for a technology that will permit more flexible linkage between objects.
One well-known specific example of linkage between objects is provided by development tools for window-based software applications. By using such tools, the user can visually combine objects such as window frames, buttons and list boxes by using a mouse or similar device, which makes it easy to develop applications that will run on a GUI (Graphical User Interface). In this case, it is necessary for the objects to perform while mutually linked to one another, and technology which permits the objects to be linked flexibly and effectively is important.
Another specific example of linkage between objects that is well-known is the technology that permits a table object (spreadsheet) that is a server created by a spreadsheet application to be embedded in a document object that is a client created by a word processor application. In this case also, it is necessary for the linkages between objects to be flexible.
Well-known existing functions that provide flexible linkages between objects as described above include OLE (Object Linking and Embedding) and OpenDoc. In these functions, as described in the above-mentioned example of linkage between a document object and a table object, a server resource which is one object can be embedded in a client which is another object.
However, the existing technology has a first problem that one server resource that is embedded in one client cannot be embedded in another client at the same time.
In addition, the existing technology has a second problem that a client in which a server resource is embedded cannot itself be embedded as a server resource in another client.
Further, in the existing technology, information as to which server resource is embedded in which client must be clearly stated in the source code of the class that created the client. That is to say, the existing technology has a third problem that the relation between the server resource and the client is statically predetermined; that relationship cannot be dynamically determined at a time of execution.